package com.zt.ztyh.service;

import com.zt.ztyh.entity.ZtyhRecording;
import com.zt.ztyh.pojo.UserByInfo;
import com.zt.ztyh.pojo.UserVo;
import com.zt.ztyh.vo.ValidateCodeVo;
import com.zt.ztyh.dto.UserDto;
import com.zt.ztyh.pojo.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zt.ztyh.dto.LoginDto;
import com.zt.ztyh.vo.LoginVo;
import com.zt.ztyh.vo.UserInfoVo;
import com.zt.ztyh.vo.common.Result;
import org.apache.poi.ss.formula.functions.T;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
* @author 卫相阳
* @description 针对表【ztyh_user】的数据库操作Service
* @createDate 2024-04-02 18:47:30
*/
public interface UserService extends IService<User> {

    LoginVo login(LoginDto loginDto);

    UserInfoVo getUserInfo(String token);

    ValidateCodeVo getValidateCode();

    void logout(String token);

    boolean register(UserDto userdto);

    User updatePassword(String token, UserVo userVo);

    User updateUserinfo(String token, UserByInfo userByInfo);

    boolean send(String phone, Map<String,Object> map);

    LoginVo phoneLogin(LoginDto loginDto);

    boolean updateUnLoan(String token, UserInfoVo userByInfo);

    User getUserByName(String userName);

    User forgetPassword(UserDto userDto);

    User getUserByPhone(String phone);

    UserInfoVo updateUnId(String token, UserInfoVo userInfoVo);

    UserInfoVo addMoney(String token, UserInfoVo userInfoVo);

    UserInfoVo getMyunNum(String token, Long id);

    Result banalceNumber(String banalce, String cardnumber);
    boolean addCard(Long moneyOut, Long moneyIn, BigDecimal amount, Integer operatorType);

    UserInfoVo NoaddMoney(String token, UserInfoVo userInfoVo);

    Result nobanalceNumber(String banalce, String cardnumber);

    Result getUserJls(Long userId, String startTime, String endTime);

    User getPhoneUsersname(String realname, String phone);

    int updateUnAmount(String phone, BigDecimal amount);

}
